<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>transwarp: transwarp::detail::task_common&lt; ResultType &gt; Class Template Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">transwarp
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="namespacetranswarp.html">transwarp</a></li><li class="navelem"><a class="el" href="namespacetranswarp_1_1detail.html">detail</a></li><li class="navelem"><a class="el" href="classtranswarp_1_1detail_1_1task__common.html">task_common</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-types">Public Types</a> &#124;
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pro-types">Protected Types</a> &#124;
<a href="#pro-methods">Protected Member Functions</a> &#124;
<a href="#pro-attribs">Protected Attributes</a> &#124;
<a href="classtranswarp_1_1detail_1_1task__common-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">transwarp::detail::task_common&lt; ResultType &gt; Class Template Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>Common task functionality shared across <code><a class="el" href="classtranswarp_1_1task__impl.html" title="A task representing a piece of work given by functor and parent tasks. By connecting tasks a directed...">task_impl</a></code> and <code><a class="el" href="classtranswarp_1_1value__task.html" title="A value task that stores a single value and doesn&#39;t require scheduling. Value tasks should be created...">value_task</a></code>  
 <a href="classtranswarp_1_1detail_1_1task__common.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="transwarp_8h_source.html">transwarp.h</a>&gt;</code></p>
<div class="dynheader">
Inheritance diagram for transwarp::detail::task_common&lt; ResultType &gt;:</div>
<div class="dyncontent">
<div class="center"><img src="classtranswarp_1_1detail_1_1task__common__inherit__graph.png" border="0" usemap="#transwarp_1_1detail_1_1task__common_3_01ResultType_01_4_inherit__map" alt="Inheritance graph"/></div>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
<div class="dynheader">
Collaboration diagram for transwarp::detail::task_common&lt; ResultType &gt;:</div>
<div class="dyncontent">
<div class="center"><img src="classtranswarp_1_1detail_1_1task__common__coll__graph.png" border="0" usemap="#transwarp_1_1detail_1_1task__common_3_01ResultType_01_4_coll__map" alt="Collaboration graph"/></div>
<center><span class="legend">[<a href="graph_legend.html">legend</a>]</span></center></div>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-types"></a>
Public Types</h2></td></tr>
<tr class="memitem:a3a0e6f882a6dd86fa2e152a2aa595f90"><td class="memItemLeft" align="right" valign="top"><a id="a3a0e6f882a6dd86fa2e152a2aa595f90"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__common.html#a3a0e6f882a6dd86fa2e152a2aa595f90">result_type</a> = ResultType</td></tr>
<tr class="memdesc:a3a0e6f882a6dd86fa2e152a2aa595f90"><td class="mdescLeft">&#160;</td><td class="mdescRight">The result type of this task. <br /></td></tr>
<tr class="separator:a3a0e6f882a6dd86fa2e152a2aa595f90"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_types_classtranswarp_1_1task"><td colspan="2" onclick="javascript:toggleInherit('pub_types_classtranswarp_1_1task')"><img src="closed.png" alt="-"/>&#160;Public Types inherited from <a class="el" href="classtranswarp_1_1task.html">transwarp::task&lt; ResultType &gt;</a></td></tr>
<tr class="memitem:a0d87e00f84cccbaf99e9a9e3a68e8f33 inherit pub_types_classtranswarp_1_1task"><td class="memItemLeft" align="right" valign="top"><a id="a0d87e00f84cccbaf99e9a9e3a68e8f33"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><b>result_type</b> = ResultType</td></tr>
<tr class="separator:a0d87e00f84cccbaf99e9a9e3a68e8f33 inherit pub_types_classtranswarp_1_1task"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:aabd43f3358eab2d17fbcdb852fa9b9d7"><td class="memItemLeft" align="right" valign="top"><a id="aabd43f3358eab2d17fbcdb852fa9b9d7"></a>
std::size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__common.html#aabd43f3358eab2d17fbcdb852fa9b9d7">id</a> () const noexcept override</td></tr>
<tr class="memdesc:aabd43f3358eab2d17fbcdb852fa9b9d7"><td class="mdescLeft">&#160;</td><td class="mdescRight">The task's id. <br /></td></tr>
<tr class="separator:aabd43f3358eab2d17fbcdb852fa9b9d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0835d77d070e47b0fb26d4d8b96713a8"><td class="memItemLeft" align="right" valign="top"><a id="a0835d77d070e47b0fb26d4d8b96713a8"></a>
const transwarp::option_str &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__common.html#a0835d77d070e47b0fb26d4d8b96713a8">name</a> () const noexcept override</td></tr>
<tr class="memdesc:a0835d77d070e47b0fb26d4d8b96713a8"><td class="mdescLeft">&#160;</td><td class="mdescRight">The optional task name. <br /></td></tr>
<tr class="separator:a0835d77d070e47b0fb26d4d8b96713a8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7ba216f5223738454a4d651d69161110"><td class="memItemLeft" align="right" valign="top"><a id="a7ba216f5223738454a4d651d69161110"></a>
std::int64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__common.html#a7ba216f5223738454a4d651d69161110">priority</a> () const noexcept override</td></tr>
<tr class="memdesc:a7ba216f5223738454a4d651d69161110"><td class="mdescLeft">&#160;</td><td class="mdescRight">The task priority (defaults to 0) <br /></td></tr>
<tr class="separator:a7ba216f5223738454a4d651d69161110"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a61535662f447a97cc4e4a31109b8f144"><td class="memItemLeft" align="right" valign="top"><a id="a61535662f447a97cc4e4a31109b8f144"></a>
const transwarp::any_data &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__common.html#a61535662f447a97cc4e4a31109b8f144">custom_data</a> () const noexcept override</td></tr>
<tr class="memdesc:a61535662f447a97cc4e4a31109b8f144"><td class="mdescLeft">&#160;</td><td class="mdescRight">The custom task data (may not hold a value) <br /></td></tr>
<tr class="separator:a61535662f447a97cc4e4a31109b8f144"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aac786819b845dad8b71060d64b494021"><td class="memItemLeft" align="right" valign="top"><a id="aac786819b845dad8b71060d64b494021"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__common.html#aac786819b845dad8b71060d64b494021">set_priority</a> (std::int64_t <a class="el" href="classtranswarp_1_1detail_1_1task__common.html#a7ba216f5223738454a4d651d69161110">priority</a>) override</td></tr>
<tr class="memdesc:aac786819b845dad8b71060d64b494021"><td class="mdescLeft">&#160;</td><td class="mdescRight">Sets a task priority (defaults to 0). transwarp will not directly use this. This is only useful if something else is using the priority (e.g. a custom executor) <br /></td></tr>
<tr class="separator:aac786819b845dad8b71060d64b494021"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af589678f1bd7d3190481ef4ee8bc3a71"><td class="memItemLeft" align="right" valign="top"><a id="af589678f1bd7d3190481ef4ee8bc3a71"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__common.html#af589678f1bd7d3190481ef4ee8bc3a71">reset_priority</a> () override</td></tr>
<tr class="memdesc:af589678f1bd7d3190481ef4ee8bc3a71"><td class="mdescLeft">&#160;</td><td class="mdescRight">Resets the task priority to 0. <br /></td></tr>
<tr class="separator:af589678f1bd7d3190481ef4ee8bc3a71"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af207f76847e7173d5db4a00e8325d0d4"><td class="memItemLeft" align="right" valign="top"><a id="af207f76847e7173d5db4a00e8325d0d4"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__common.html#af207f76847e7173d5db4a00e8325d0d4">set_custom_data</a> (transwarp::any_data <a class="el" href="classtranswarp_1_1detail_1_1task__common.html#a61535662f447a97cc4e4a31109b8f144">custom_data</a>) override</td></tr>
<tr class="memdesc:af207f76847e7173d5db4a00e8325d0d4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assigns custom data to this task. transwarp will not directly use this. This is only useful if something else is using this custom data (e.g. a custom executor) <br /></td></tr>
<tr class="separator:af207f76847e7173d5db4a00e8325d0d4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a730e97aa69e1cf079198f802cb2b9a76"><td class="memItemLeft" align="right" valign="top"><a id="a730e97aa69e1cf079198f802cb2b9a76"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__common.html#a730e97aa69e1cf079198f802cb2b9a76">remove_custom_data</a> () override</td></tr>
<tr class="memdesc:a730e97aa69e1cf079198f802cb2b9a76"><td class="mdescLeft">&#160;</td><td class="mdescRight">Removes custom data from this task. <br /></td></tr>
<tr class="separator:a730e97aa69e1cf079198f802cb2b9a76"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a82c21811094e5807276b0a614cfd78b3"><td class="memItemLeft" align="right" valign="top"><a id="a82c21811094e5807276b0a614cfd78b3"></a>
std::shared_future&lt; <a class="el" href="classtranswarp_1_1detail_1_1task__common.html#a3a0e6f882a6dd86fa2e152a2aa595f90">result_type</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__common.html#a82c21811094e5807276b0a614cfd78b3">future</a> () const noexcept override</td></tr>
<tr class="memdesc:a82c21811094e5807276b0a614cfd78b3"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the future associated to the underlying execution. <br /></td></tr>
<tr class="separator:a82c21811094e5807276b0a614cfd78b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6da9d357b6e09ca0e597bf2370941157"><td class="memItemLeft" align="right" valign="top"><a id="a6da9d357b6e09ca0e597bf2370941157"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__common.html#a6da9d357b6e09ca0e597bf2370941157">add_listener</a> (std::shared_ptr&lt; <a class="el" href="classtranswarp_1_1listener.html">transwarp::listener</a> &gt; <a class="el" href="classtranswarp_1_1listener.html">listener</a>) override</td></tr>
<tr class="memdesc:a6da9d357b6e09ca0e597bf2370941157"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds a new listener for all event types. <br /></td></tr>
<tr class="separator:a6da9d357b6e09ca0e597bf2370941157"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a83255d9dd559248835e3e686f6f8fa22"><td class="memItemLeft" align="right" valign="top"><a id="a83255d9dd559248835e3e686f6f8fa22"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__common.html#a83255d9dd559248835e3e686f6f8fa22">add_listener</a> (<a class="el" href="namespacetranswarp.html#a857009a6efbb2f34495ee81664a376dc">transwarp::event_type</a> event, std::shared_ptr&lt; <a class="el" href="classtranswarp_1_1listener.html">transwarp::listener</a> &gt; <a class="el" href="classtranswarp_1_1listener.html">listener</a>) override</td></tr>
<tr class="memdesc:a83255d9dd559248835e3e686f6f8fa22"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds a new listener for the given event type only. <br /></td></tr>
<tr class="separator:a83255d9dd559248835e3e686f6f8fa22"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7a424473dbb98ba2e82ebb65b18ced83"><td class="memItemLeft" align="right" valign="top"><a id="a7a424473dbb98ba2e82ebb65b18ced83"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__common.html#a7a424473dbb98ba2e82ebb65b18ced83">remove_listener</a> (const std::shared_ptr&lt; <a class="el" href="classtranswarp_1_1listener.html">transwarp::listener</a> &gt; &amp;<a class="el" href="classtranswarp_1_1listener.html">listener</a>) override</td></tr>
<tr class="memdesc:a7a424473dbb98ba2e82ebb65b18ced83"><td class="mdescLeft">&#160;</td><td class="mdescRight">Removes the listener for all event types. <br /></td></tr>
<tr class="separator:a7a424473dbb98ba2e82ebb65b18ced83"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3bf5d3ab34b0191fe82f3686e906aac4"><td class="memItemLeft" align="right" valign="top"><a id="a3bf5d3ab34b0191fe82f3686e906aac4"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__common.html#a3bf5d3ab34b0191fe82f3686e906aac4">remove_listener</a> (<a class="el" href="namespacetranswarp.html#a857009a6efbb2f34495ee81664a376dc">transwarp::event_type</a> event, const std::shared_ptr&lt; <a class="el" href="classtranswarp_1_1listener.html">transwarp::listener</a> &gt; &amp;<a class="el" href="classtranswarp_1_1listener.html">listener</a>) override</td></tr>
<tr class="memdesc:a3bf5d3ab34b0191fe82f3686e906aac4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Removes the listener for the given event type only. <br /></td></tr>
<tr class="separator:a3bf5d3ab34b0191fe82f3686e906aac4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afdd70445f0088660f5a7b35c60e23b5b"><td class="memItemLeft" align="right" valign="top"><a id="afdd70445f0088660f5a7b35c60e23b5b"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__common.html#afdd70445f0088660f5a7b35c60e23b5b">remove_listeners</a> () override</td></tr>
<tr class="memdesc:afdd70445f0088660f5a7b35c60e23b5b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Removes all listeners. <br /></td></tr>
<tr class="separator:afdd70445f0088660f5a7b35c60e23b5b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a36555b7fdbbd6383080c222752e67928"><td class="memItemLeft" align="right" valign="top"><a id="a36555b7fdbbd6383080c222752e67928"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__common.html#a36555b7fdbbd6383080c222752e67928">remove_listeners</a> (<a class="el" href="namespacetranswarp.html#a857009a6efbb2f34495ee81664a376dc">transwarp::event_type</a> event) override</td></tr>
<tr class="memdesc:a36555b7fdbbd6383080c222752e67928"><td class="mdescLeft">&#160;</td><td class="mdescRight">Removes all listeners for the given event type. <br /></td></tr>
<tr class="separator:a36555b7fdbbd6383080c222752e67928"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classtranswarp_1_1task"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classtranswarp_1_1task')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classtranswarp_1_1task.html">transwarp::task&lt; ResultType &gt;</a></td></tr>
<tr class="memitem:a65ff132766508be675a992f877e462c5 inherit pub_methods_classtranswarp_1_1task"><td class="memItemLeft" align="right" valign="top"><a id="a65ff132766508be675a992f877e462c5"></a>
std::shared_ptr&lt; <a class="el" href="classtranswarp_1_1task.html">task</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>clone</b> () const</td></tr>
<tr class="separator:a65ff132766508be675a992f877e462c5 inherit pub_methods_classtranswarp_1_1task"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a96ed306fe867aff61712e817861d2d59 inherit pub_methods_classtranswarp_1_1task"><td class="memItemLeft" align="right" valign="top"><a id="a96ed306fe867aff61712e817861d2d59"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>set_value</b> (const typename <a class="el" href="structtranswarp_1_1decay.html">transwarp::decay</a>&lt; result_type &gt;::type &amp;value)=0</td></tr>
<tr class="separator:a96ed306fe867aff61712e817861d2d59 inherit pub_methods_classtranswarp_1_1task"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac1cce9b79af1a150f490543a519927f7 inherit pub_methods_classtranswarp_1_1task"><td class="memItemLeft" align="right" valign="top"><a id="ac1cce9b79af1a150f490543a519927f7"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>set_value</b> (typename <a class="el" href="structtranswarp_1_1decay.html">transwarp::decay</a>&lt; result_type &gt;::type &amp;&amp;value)=0</td></tr>
<tr class="separator:ac1cce9b79af1a150f490543a519927f7 inherit pub_methods_classtranswarp_1_1task"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad847b42714be666d1eb468e9e2a076a4 inherit pub_methods_classtranswarp_1_1task"><td class="memItemLeft" align="right" valign="top"><a id="ad847b42714be666d1eb468e9e2a076a4"></a>
virtual <a class="el" href="structtranswarp_1_1result.html">transwarp::result</a>&lt; result_type &gt;::type&#160;</td><td class="memItemRight" valign="bottom"><b>get</b> () const =0</td></tr>
<tr class="separator:ad847b42714be666d1eb468e9e2a076a4 inherit pub_methods_classtranswarp_1_1task"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pub_methods_classtranswarp_1_1itask"><td colspan="2" onclick="javascript:toggleInherit('pub_methods_classtranswarp_1_1itask')"><img src="closed.png" alt="-"/>&#160;Public Member Functions inherited from <a class="el" href="classtranswarp_1_1itask.html">transwarp::itask</a></td></tr>
<tr class="memitem:af26df4ad927b78c6cc52e60ac8b24b29 inherit pub_methods_classtranswarp_1_1itask"><td class="memItemLeft" align="right" valign="top"><a id="af26df4ad927b78c6cc52e60ac8b24b29"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>finalize</b> ()=0</td></tr>
<tr class="separator:af26df4ad927b78c6cc52e60ac8b24b29 inherit pub_methods_classtranswarp_1_1itask"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab383910a47c2da2cabfd3137f9dce46a inherit pub_methods_classtranswarp_1_1itask"><td class="memItemLeft" align="right" valign="top"><a id="ab383910a47c2da2cabfd3137f9dce46a"></a>
virtual std::size_t&#160;</td><td class="memItemRight" valign="bottom"><b>level</b> () const noexcept=0</td></tr>
<tr class="separator:ab383910a47c2da2cabfd3137f9dce46a inherit pub_methods_classtranswarp_1_1itask"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a92186a805bcd25089778c03a87ed2946 inherit pub_methods_classtranswarp_1_1itask"><td class="memItemLeft" align="right" valign="top"><a id="a92186a805bcd25089778c03a87ed2946"></a>
virtual <a class="el" href="namespacetranswarp.html#a10f2b2567332cf9514d4c366c1cc5a5e">transwarp::task_type</a>&#160;</td><td class="memItemRight" valign="bottom"><b>type</b> () const noexcept=0</td></tr>
<tr class="separator:a92186a805bcd25089778c03a87ed2946 inherit pub_methods_classtranswarp_1_1itask"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a350284ee4c028f91cfdc9b63b8627a32 inherit pub_methods_classtranswarp_1_1itask"><td class="memItemLeft" align="right" valign="top"><a id="a350284ee4c028f91cfdc9b63b8627a32"></a>
virtual std::shared_ptr&lt; <a class="el" href="classtranswarp_1_1executor.html">transwarp::executor</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>executor</b> () const noexcept=0</td></tr>
<tr class="separator:a350284ee4c028f91cfdc9b63b8627a32 inherit pub_methods_classtranswarp_1_1itask"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a20b57796d91740b1033de9d8857c4a3a inherit pub_methods_classtranswarp_1_1itask"><td class="memItemLeft" align="right" valign="top"><a id="a20b57796d91740b1033de9d8857c4a3a"></a>
virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>canceled</b> () const noexcept=0</td></tr>
<tr class="separator:a20b57796d91740b1033de9d8857c4a3a inherit pub_methods_classtranswarp_1_1itask"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a929ba90a7d6f43827669e59acc94c5e3 inherit pub_methods_classtranswarp_1_1itask"><td class="memItemLeft" align="right" valign="top"><a id="a929ba90a7d6f43827669e59acc94c5e3"></a>
virtual std::int64_t&#160;</td><td class="memItemRight" valign="bottom"><b>avg_idletime_us</b> () const noexcept=0</td></tr>
<tr class="separator:a929ba90a7d6f43827669e59acc94c5e3 inherit pub_methods_classtranswarp_1_1itask"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6bf31d506094c71c1aed89d078696781 inherit pub_methods_classtranswarp_1_1itask"><td class="memItemLeft" align="right" valign="top"><a id="a6bf31d506094c71c1aed89d078696781"></a>
virtual std::int64_t&#160;</td><td class="memItemRight" valign="bottom"><b>avg_waittime_us</b> () const noexcept=0</td></tr>
<tr class="separator:a6bf31d506094c71c1aed89d078696781 inherit pub_methods_classtranswarp_1_1itask"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a51ebd9a32eab805c49f469059575d9f7 inherit pub_methods_classtranswarp_1_1itask"><td class="memItemLeft" align="right" valign="top"><a id="a51ebd9a32eab805c49f469059575d9f7"></a>
virtual std::int64_t&#160;</td><td class="memItemRight" valign="bottom"><b>avg_runtime_us</b> () const noexcept=0</td></tr>
<tr class="separator:a51ebd9a32eab805c49f469059575d9f7 inherit pub_methods_classtranswarp_1_1itask"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8dfced2859982a802a36cbd062402b77 inherit pub_methods_classtranswarp_1_1itask"><td class="memItemLeft" align="right" valign="top"><a id="a8dfced2859982a802a36cbd062402b77"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>set_executor</b> (std::shared_ptr&lt; <a class="el" href="classtranswarp_1_1executor.html">transwarp::executor</a> &gt; <a class="el" href="classtranswarp_1_1executor.html">executor</a>)=0</td></tr>
<tr class="separator:a8dfced2859982a802a36cbd062402b77 inherit pub_methods_classtranswarp_1_1itask"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2270d5e38dc79f1c83ca35be64f92527 inherit pub_methods_classtranswarp_1_1itask"><td class="memItemLeft" align="right" valign="top"><a id="a2270d5e38dc79f1c83ca35be64f92527"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>set_executor_all</b> (std::shared_ptr&lt; <a class="el" href="classtranswarp_1_1executor.html">transwarp::executor</a> &gt; <a class="el" href="classtranswarp_1_1executor.html">executor</a>)=0</td></tr>
<tr class="separator:a2270d5e38dc79f1c83ca35be64f92527 inherit pub_methods_classtranswarp_1_1itask"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8729225a8e7b3b259b8e87c48f6578cb inherit pub_methods_classtranswarp_1_1itask"><td class="memItemLeft" align="right" valign="top"><a id="a8729225a8e7b3b259b8e87c48f6578cb"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>remove_executor</b> ()=0</td></tr>
<tr class="separator:a8729225a8e7b3b259b8e87c48f6578cb inherit pub_methods_classtranswarp_1_1itask"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae84331677483cae36600bc56e2079f40 inherit pub_methods_classtranswarp_1_1itask"><td class="memItemLeft" align="right" valign="top"><a id="ae84331677483cae36600bc56e2079f40"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>remove_executor_all</b> ()=0</td></tr>
<tr class="separator:ae84331677483cae36600bc56e2079f40 inherit pub_methods_classtranswarp_1_1itask"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5362638d51307db7e2755ef2796329d6 inherit pub_methods_classtranswarp_1_1itask"><td class="memItemLeft" align="right" valign="top"><a id="a5362638d51307db7e2755ef2796329d6"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>set_priority_all</b> (std::int64_t priority)=0</td></tr>
<tr class="separator:a5362638d51307db7e2755ef2796329d6 inherit pub_methods_classtranswarp_1_1itask"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a60c6f3beb644b4839b1aff3e7cbfebb9 inherit pub_methods_classtranswarp_1_1itask"><td class="memItemLeft" align="right" valign="top"><a id="a60c6f3beb644b4839b1aff3e7cbfebb9"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>reset_priority_all</b> ()=0</td></tr>
<tr class="separator:a60c6f3beb644b4839b1aff3e7cbfebb9 inherit pub_methods_classtranswarp_1_1itask"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a437245a06212c73e4edbf418ac016669 inherit pub_methods_classtranswarp_1_1itask"><td class="memItemLeft" align="right" valign="top"><a id="a437245a06212c73e4edbf418ac016669"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>set_custom_data_all</b> (transwarp::any_data custom_data)=0</td></tr>
<tr class="separator:a437245a06212c73e4edbf418ac016669 inherit pub_methods_classtranswarp_1_1itask"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a85c3bb2e60900bc2041a5a0fd484c2fb inherit pub_methods_classtranswarp_1_1itask"><td class="memItemLeft" align="right" valign="top"><a id="a85c3bb2e60900bc2041a5a0fd484c2fb"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>remove_custom_data_all</b> ()=0</td></tr>
<tr class="separator:a85c3bb2e60900bc2041a5a0fd484c2fb inherit pub_methods_classtranswarp_1_1itask"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac03b62be2919e72644e4b2318830259a inherit pub_methods_classtranswarp_1_1itask"><td class="memItemLeft" align="right" valign="top"><a id="ac03b62be2919e72644e4b2318830259a"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>add_listener_all</b> (std::shared_ptr&lt; <a class="el" href="classtranswarp_1_1listener.html">transwarp::listener</a> &gt; <a class="el" href="classtranswarp_1_1listener.html">listener</a>)=0</td></tr>
<tr class="separator:ac03b62be2919e72644e4b2318830259a inherit pub_methods_classtranswarp_1_1itask"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a684103ee2fcb89711c687dbf50db21c7 inherit pub_methods_classtranswarp_1_1itask"><td class="memItemLeft" align="right" valign="top"><a id="a684103ee2fcb89711c687dbf50db21c7"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>add_listener_all</b> (<a class="el" href="namespacetranswarp.html#a857009a6efbb2f34495ee81664a376dc">transwarp::event_type</a> event, std::shared_ptr&lt; <a class="el" href="classtranswarp_1_1listener.html">transwarp::listener</a> &gt; <a class="el" href="classtranswarp_1_1listener.html">listener</a>)=0</td></tr>
<tr class="separator:a684103ee2fcb89711c687dbf50db21c7 inherit pub_methods_classtranswarp_1_1itask"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a820dc51c1fd9a71a97179604c22011dd inherit pub_methods_classtranswarp_1_1itask"><td class="memItemLeft" align="right" valign="top"><a id="a820dc51c1fd9a71a97179604c22011dd"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>remove_listener_all</b> (const std::shared_ptr&lt; <a class="el" href="classtranswarp_1_1listener.html">transwarp::listener</a> &gt; &amp;<a class="el" href="classtranswarp_1_1listener.html">listener</a>)=0</td></tr>
<tr class="separator:a820dc51c1fd9a71a97179604c22011dd inherit pub_methods_classtranswarp_1_1itask"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6ab736645ca86a36bb33167216d5089a inherit pub_methods_classtranswarp_1_1itask"><td class="memItemLeft" align="right" valign="top"><a id="a6ab736645ca86a36bb33167216d5089a"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>remove_listener_all</b> (<a class="el" href="namespacetranswarp.html#a857009a6efbb2f34495ee81664a376dc">transwarp::event_type</a> event, const std::shared_ptr&lt; <a class="el" href="classtranswarp_1_1listener.html">transwarp::listener</a> &gt; &amp;<a class="el" href="classtranswarp_1_1listener.html">listener</a>)=0</td></tr>
<tr class="separator:a6ab736645ca86a36bb33167216d5089a inherit pub_methods_classtranswarp_1_1itask"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8154d0fc11b2327b22b41efd9e260f8a inherit pub_methods_classtranswarp_1_1itask"><td class="memItemLeft" align="right" valign="top"><a id="a8154d0fc11b2327b22b41efd9e260f8a"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>remove_listeners_all</b> ()=0</td></tr>
<tr class="separator:a8154d0fc11b2327b22b41efd9e260f8a inherit pub_methods_classtranswarp_1_1itask"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac35a0f8c4246e76c76222f211d42f06e inherit pub_methods_classtranswarp_1_1itask"><td class="memItemLeft" align="right" valign="top"><a id="ac35a0f8c4246e76c76222f211d42f06e"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>remove_listeners_all</b> (<a class="el" href="namespacetranswarp.html#a857009a6efbb2f34495ee81664a376dc">transwarp::event_type</a> event)=0</td></tr>
<tr class="separator:ac35a0f8c4246e76c76222f211d42f06e inherit pub_methods_classtranswarp_1_1itask"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4ded52be61d505bf0267caf37b434b25 inherit pub_methods_classtranswarp_1_1itask"><td class="memItemLeft" align="right" valign="top"><a id="a4ded52be61d505bf0267caf37b434b25"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>schedule</b> ()=0</td></tr>
<tr class="separator:a4ded52be61d505bf0267caf37b434b25 inherit pub_methods_classtranswarp_1_1itask"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a12f4b3322e3acac4f485bc29352bbf40 inherit pub_methods_classtranswarp_1_1itask"><td class="memItemLeft" align="right" valign="top"><a id="a12f4b3322e3acac4f485bc29352bbf40"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>schedule</b> (<a class="el" href="classtranswarp_1_1executor.html">transwarp::executor</a> &amp;<a class="el" href="classtranswarp_1_1executor.html">executor</a>)=0</td></tr>
<tr class="separator:a12f4b3322e3acac4f485bc29352bbf40 inherit pub_methods_classtranswarp_1_1itask"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a51a65b1107f23e5c79be7cb857447e00 inherit pub_methods_classtranswarp_1_1itask"><td class="memItemLeft" align="right" valign="top"><a id="a51a65b1107f23e5c79be7cb857447e00"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>schedule</b> (bool reset)=0</td></tr>
<tr class="separator:a51a65b1107f23e5c79be7cb857447e00 inherit pub_methods_classtranswarp_1_1itask"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a406ea29b8f85680e014639e7fb2e88a6 inherit pub_methods_classtranswarp_1_1itask"><td class="memItemLeft" align="right" valign="top"><a id="a406ea29b8f85680e014639e7fb2e88a6"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>schedule</b> (<a class="el" href="classtranswarp_1_1executor.html">transwarp::executor</a> &amp;<a class="el" href="classtranswarp_1_1executor.html">executor</a>, bool reset)=0</td></tr>
<tr class="separator:a406ea29b8f85680e014639e7fb2e88a6 inherit pub_methods_classtranswarp_1_1itask"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aae19a296b7003c3930a2f2c47027e383 inherit pub_methods_classtranswarp_1_1itask"><td class="memItemLeft" align="right" valign="top"><a id="aae19a296b7003c3930a2f2c47027e383"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>schedule_all</b> ()=0</td></tr>
<tr class="separator:aae19a296b7003c3930a2f2c47027e383 inherit pub_methods_classtranswarp_1_1itask"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4b2525f7a817b9263c87cde74b2a4329 inherit pub_methods_classtranswarp_1_1itask"><td class="memItemLeft" align="right" valign="top"><a id="a4b2525f7a817b9263c87cde74b2a4329"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>schedule_all</b> (<a class="el" href="classtranswarp_1_1executor.html">transwarp::executor</a> &amp;<a class="el" href="classtranswarp_1_1executor.html">executor</a>)=0</td></tr>
<tr class="separator:a4b2525f7a817b9263c87cde74b2a4329 inherit pub_methods_classtranswarp_1_1itask"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a48581baed35b467620a37028585c4c57 inherit pub_methods_classtranswarp_1_1itask"><td class="memItemLeft" align="right" valign="top"><a id="a48581baed35b467620a37028585c4c57"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>schedule_all</b> (bool reset_all)=0</td></tr>
<tr class="separator:a48581baed35b467620a37028585c4c57 inherit pub_methods_classtranswarp_1_1itask"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a32cb30d49a5e8bd51f88206156e4d8d8 inherit pub_methods_classtranswarp_1_1itask"><td class="memItemLeft" align="right" valign="top"><a id="a32cb30d49a5e8bd51f88206156e4d8d8"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>schedule_all</b> (<a class="el" href="classtranswarp_1_1executor.html">transwarp::executor</a> &amp;<a class="el" href="classtranswarp_1_1executor.html">executor</a>, bool reset_all)=0</td></tr>
<tr class="separator:a32cb30d49a5e8bd51f88206156e4d8d8 inherit pub_methods_classtranswarp_1_1itask"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4066f2011fcc3ca37fa041aa755c1dda inherit pub_methods_classtranswarp_1_1itask"><td class="memItemLeft" align="right" valign="top"><a id="a4066f2011fcc3ca37fa041aa755c1dda"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>set_exception</b> (std::exception_ptr exception)=0</td></tr>
<tr class="separator:a4066f2011fcc3ca37fa041aa755c1dda inherit pub_methods_classtranswarp_1_1itask"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a868a373f4cf1f6ed17ae248fce897f6c inherit pub_methods_classtranswarp_1_1itask"><td class="memItemLeft" align="right" valign="top"><a id="a868a373f4cf1f6ed17ae248fce897f6c"></a>
virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>was_scheduled</b> () const noexcept=0</td></tr>
<tr class="separator:a868a373f4cf1f6ed17ae248fce897f6c inherit pub_methods_classtranswarp_1_1itask"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1684512c03b629c220d5eeb0e357a8ba inherit pub_methods_classtranswarp_1_1itask"><td class="memItemLeft" align="right" valign="top"><a id="a1684512c03b629c220d5eeb0e357a8ba"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>wait</b> () const =0</td></tr>
<tr class="separator:a1684512c03b629c220d5eeb0e357a8ba inherit pub_methods_classtranswarp_1_1itask"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6e802874e1669d81e5497325d15c11b5 inherit pub_methods_classtranswarp_1_1itask"><td class="memItemLeft" align="right" valign="top"><a id="a6e802874e1669d81e5497325d15c11b5"></a>
virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>is_ready</b> () const =0</td></tr>
<tr class="separator:a6e802874e1669d81e5497325d15c11b5 inherit pub_methods_classtranswarp_1_1itask"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a777d74c766ba2dd1c6c6a211e9d63b09 inherit pub_methods_classtranswarp_1_1itask"><td class="memItemLeft" align="right" valign="top"><a id="a777d74c766ba2dd1c6c6a211e9d63b09"></a>
virtual bool&#160;</td><td class="memItemRight" valign="bottom"><b>has_result</b> () const =0</td></tr>
<tr class="separator:a777d74c766ba2dd1c6c6a211e9d63b09 inherit pub_methods_classtranswarp_1_1itask"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a622fc9bf9f2f500848c7e6b038090b30 inherit pub_methods_classtranswarp_1_1itask"><td class="memItemLeft" align="right" valign="top"><a id="a622fc9bf9f2f500848c7e6b038090b30"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>reset</b> ()=0</td></tr>
<tr class="separator:a622fc9bf9f2f500848c7e6b038090b30 inherit pub_methods_classtranswarp_1_1itask"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acf8376e6106ff07314ac75212a22013f inherit pub_methods_classtranswarp_1_1itask"><td class="memItemLeft" align="right" valign="top"><a id="acf8376e6106ff07314ac75212a22013f"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>reset_all</b> ()=0</td></tr>
<tr class="separator:acf8376e6106ff07314ac75212a22013f inherit pub_methods_classtranswarp_1_1itask"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa469d3deff84af7ca9256ced78ded1d0 inherit pub_methods_classtranswarp_1_1itask"><td class="memItemLeft" align="right" valign="top"><a id="aa469d3deff84af7ca9256ced78ded1d0"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>cancel</b> (bool enabled) noexcept=0</td></tr>
<tr class="separator:aa469d3deff84af7ca9256ced78ded1d0 inherit pub_methods_classtranswarp_1_1itask"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a117540551b2eef14b76346f008e69177 inherit pub_methods_classtranswarp_1_1itask"><td class="memItemLeft" align="right" valign="top"><a id="a117540551b2eef14b76346f008e69177"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>cancel_all</b> (bool enabled) noexcept=0</td></tr>
<tr class="separator:a117540551b2eef14b76346f008e69177 inherit pub_methods_classtranswarp_1_1itask"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afad3dc5a68608fd4081f73c717e09b50 inherit pub_methods_classtranswarp_1_1itask"><td class="memItemLeft" align="right" valign="top"><a id="afad3dc5a68608fd4081f73c717e09b50"></a>
virtual std::vector&lt; <a class="el" href="classtranswarp_1_1itask.html">itask</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>parents</b> () const =0</td></tr>
<tr class="separator:afad3dc5a68608fd4081f73c717e09b50 inherit pub_methods_classtranswarp_1_1itask"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a090305be411411eefec83d030a6f70c8 inherit pub_methods_classtranswarp_1_1itask"><td class="memItemLeft" align="right" valign="top"><a id="a090305be411411eefec83d030a6f70c8"></a>
virtual const std::vector&lt; <a class="el" href="classtranswarp_1_1itask.html">itask</a> * &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>tasks</b> ()=0</td></tr>
<tr class="separator:a090305be411411eefec83d030a6f70c8 inherit pub_methods_classtranswarp_1_1itask"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a169d23348afb7514fafddc9a2fd27818 inherit pub_methods_classtranswarp_1_1itask"><td class="memItemLeft" align="right" valign="top"><a id="a169d23348afb7514fafddc9a2fd27818"></a>
virtual std::vector&lt; <a class="el" href="classtranswarp_1_1edge.html">transwarp::edge</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>edges</b> ()=0</td></tr>
<tr class="separator:a169d23348afb7514fafddc9a2fd27818 inherit pub_methods_classtranswarp_1_1itask"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-types"></a>
Protected Types</h2></td></tr>
<tr class="memitem:a8977bf1c33c7463a4131dc0cefa60ded"><td class="memItemLeft" align="right" valign="top"><a id="a8977bf1c33c7463a4131dc0cefa60ded"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><b>listeners_t</b> = std::map&lt; <a class="el" href="namespacetranswarp.html#a857009a6efbb2f34495ee81664a376dc">transwarp::event_type</a>, std::vector&lt; std::shared_ptr&lt; <a class="el" href="classtranswarp_1_1listener.html">transwarp::listener</a> &gt; &gt;&gt;</td></tr>
<tr class="separator:a8977bf1c33c7463a4131dc0cefa60ded"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9d66f1900447a8d1f9b92ce4314b68ed"><td class="memItemLeft" align="right" valign="top"><a id="a9d66f1900447a8d1f9b92ce4314b68ed"></a>
using&#160;</td><td class="memItemRight" valign="bottom"><b>tasks_t</b> = std::vector&lt; <a class="el" href="classtranswarp_1_1itask.html">transwarp::itask</a> * &gt;</td></tr>
<tr class="separator:a9d66f1900447a8d1f9b92ce4314b68ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-methods"></a>
Protected Member Functions</h2></td></tr>
<tr class="memitem:a8c11b84518bc9aadbebee17039b4aa63"><td class="memItemLeft" align="right" valign="top"><a id="a8c11b84518bc9aadbebee17039b4aa63"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__common.html#a8c11b84518bc9aadbebee17039b4aa63">ensure_task_not_running</a> () const</td></tr>
<tr class="memdesc:a8c11b84518bc9aadbebee17039b4aa63"><td class="mdescLeft">&#160;</td><td class="mdescRight">Checks if the task is currently running and throws <a class="el" href="classtranswarp_1_1control__error.html" title="Exception thrown when a task is used in unintended ways.">transwarp::control_error</a> if it is. <br /></td></tr>
<tr class="separator:a8c11b84518bc9aadbebee17039b4aa63"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a98d90812f2f9007f04988e5669c6260b"><td class="memItemLeft" align="right" valign="top"><a id="a98d90812f2f9007f04988e5669c6260b"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__common.html#a98d90812f2f9007f04988e5669c6260b">raise_event</a> (<a class="el" href="namespacetranswarp.html#a857009a6efbb2f34495ee81664a376dc">transwarp::event_type</a> event)</td></tr>
<tr class="memdesc:a98d90812f2f9007f04988e5669c6260b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Raises the given event to all listeners. <br /></td></tr>
<tr class="separator:a98d90812f2f9007f04988e5669c6260b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a72f6cb32b585434f3bb28aeac74e9772"><td class="memItemLeft" align="right" valign="top"><a id="a72f6cb32b585434f3bb28aeac74e9772"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__common.html#a72f6cb32b585434f3bb28aeac74e9772">check_listener</a> (const std::shared_ptr&lt; <a class="el" href="classtranswarp_1_1listener.html">transwarp::listener</a> &gt; &amp;<a class="el" href="classtranswarp_1_1listener.html">listener</a>) const</td></tr>
<tr class="memdesc:a72f6cb32b585434f3bb28aeac74e9772"><td class="mdescLeft">&#160;</td><td class="mdescRight">Check for non-null listener pointer. <br /></td></tr>
<tr class="separator:a72f6cb32b585434f3bb28aeac74e9772"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0f4211c08644503f8c576ebb252cdaa8"><td class="memItemLeft" align="right" valign="top"><a id="a0f4211c08644503f8c576ebb252cdaa8"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>ensure_listeners_object</b> ()</td></tr>
<tr class="separator:a0f4211c08644503f8c576ebb252cdaa8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8fca51d95cea7558b94de0ad2e215a13"><td class="memItemLeft" align="right" valign="top"><a id="a8fca51d95cea7558b94de0ad2e215a13"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__common.html#a8fca51d95cea7558b94de0ad2e215a13">set_id</a> (std::size_t <a class="el" href="classtranswarp_1_1detail_1_1task__common.html#aabd43f3358eab2d17fbcdb852fa9b9d7">id</a>) noexcept override</td></tr>
<tr class="memdesc:a8fca51d95cea7558b94de0ad2e215a13"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assigns the given id. <br /></td></tr>
<tr class="separator:a8fca51d95cea7558b94de0ad2e215a13"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac1f1daa7d9b84bdcb2e59b29e956a87b"><td class="memItemLeft" align="right" valign="top"><a id="ac1f1daa7d9b84bdcb2e59b29e956a87b"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classtranswarp_1_1detail_1_1task__common.html#ac1f1daa7d9b84bdcb2e59b29e956a87b">set_name</a> (transwarp::option_str <a class="el" href="classtranswarp_1_1detail_1_1task__common.html#a0835d77d070e47b0fb26d4d8b96713a8">name</a>) noexcept override</td></tr>
<tr class="memdesc:ac1f1daa7d9b84bdcb2e59b29e956a87b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Assigns the given name. <br /></td></tr>
<tr class="separator:ac1f1daa7d9b84bdcb2e59b29e956a87b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a366db5b81b4e56aa674b15e97ee9d6bb"><td class="memItemLeft" align="right" valign="top"><a id="a366db5b81b4e56aa674b15e97ee9d6bb"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><b>copy_from</b> (const <a class="el" href="classtranswarp_1_1detail_1_1task__common.html">task_common</a> &amp;<a class="el" href="classtranswarp_1_1task.html">task</a>)</td></tr>
<tr class="separator:a366db5b81b4e56aa674b15e97ee9d6bb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="inherit_header pro_methods_classtranswarp_1_1itask"><td colspan="2" onclick="javascript:toggleInherit('pro_methods_classtranswarp_1_1itask')"><img src="closed.png" alt="-"/>&#160;Protected Member Functions inherited from <a class="el" href="classtranswarp_1_1itask.html">transwarp::itask</a></td></tr>
<tr class="memitem:a1dcc4d6a5de6c6e077105b264843becb inherit pro_methods_classtranswarp_1_1itask"><td class="memItemLeft" align="right" valign="top"><a id="a1dcc4d6a5de6c6e077105b264843becb"></a>
virtual void&#160;</td><td class="memItemRight" valign="bottom"><b>schedule_impl</b> (bool reset, <a class="el" href="classtranswarp_1_1executor.html">transwarp::executor</a> *<a class="el" href="classtranswarp_1_1executor.html">executor</a>=nullptr)=0</td></tr>
<tr class="separator:a1dcc4d6a5de6c6e077105b264843becb inherit pro_methods_classtranswarp_1_1itask"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pro-attribs"></a>
Protected Attributes</h2></td></tr>
<tr class="memitem:a6184cac2e551515a3de97da8f234c8eb"><td class="memItemLeft" align="right" valign="top"><a id="a6184cac2e551515a3de97da8f234c8eb"></a>
std::size_t&#160;</td><td class="memItemRight" valign="bottom"><b>id_</b> = 0</td></tr>
<tr class="separator:a6184cac2e551515a3de97da8f234c8eb"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a55a0c382faf0f631da83f0d70b5596c5"><td class="memItemLeft" align="right" valign="top"><a id="a55a0c382faf0f631da83f0d70b5596c5"></a>
transwarp::option_str&#160;</td><td class="memItemRight" valign="bottom"><b>name_</b></td></tr>
<tr class="separator:a55a0c382faf0f631da83f0d70b5596c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3cdf96e89a134ac180c5eca176fabf3b"><td class="memItemLeft" align="right" valign="top"><a id="a3cdf96e89a134ac180c5eca176fabf3b"></a>
std::int64_t&#160;</td><td class="memItemRight" valign="bottom"><b>priority_</b> = 0</td></tr>
<tr class="separator:a3cdf96e89a134ac180c5eca176fabf3b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac85e62418d29f7b9d00c2f4f2d75c62e"><td class="memItemLeft" align="right" valign="top"><a id="ac85e62418d29f7b9d00c2f4f2d75c62e"></a>
transwarp::any_data&#160;</td><td class="memItemRight" valign="bottom"><b>custom_data_</b></td></tr>
<tr class="separator:ac85e62418d29f7b9d00c2f4f2d75c62e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a69363414e45265aa6fa3b75f9e8f6950"><td class="memItemLeft" align="right" valign="top"><a id="a69363414e45265aa6fa3b75f9e8f6950"></a>
std::shared_future&lt; <a class="el" href="classtranswarp_1_1detail_1_1task__common.html#a3a0e6f882a6dd86fa2e152a2aa595f90">result_type</a> &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>future_</b></td></tr>
<tr class="separator:a69363414e45265aa6fa3b75f9e8f6950"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7b7009cf0dc2c0fd22b301aa610bbb57"><td class="memItemLeft" align="right" valign="top"><a id="a7b7009cf0dc2c0fd22b301aa610bbb57"></a>
bool&#160;</td><td class="memItemRight" valign="bottom"><b>visited_</b> = false</td></tr>
<tr class="separator:a7b7009cf0dc2c0fd22b301aa610bbb57"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a51748bcf8e8a2f377d6f924cd1ee4d6d"><td class="memItemLeft" align="right" valign="top"><a id="a51748bcf8e8a2f377d6f924cd1ee4d6d"></a>
std::unique_ptr&lt; listeners_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>listeners_</b></td></tr>
<tr class="separator:a51748bcf8e8a2f377d6f924cd1ee4d6d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae1da5cb3ac99aca288cb0afe0a3044e9"><td class="memItemLeft" align="right" valign="top"><a id="ae1da5cb3ac99aca288cb0afe0a3044e9"></a>
std::unique_ptr&lt; tasks_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>tasks_</b></td></tr>
<tr class="separator:ae1da5cb3ac99aca288cb0afe0a3044e9"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><h3>template&lt;typename ResultType&gt;<br />
class transwarp::detail::task_common&lt; ResultType &gt;</h3>

<p>Common task functionality shared across <code><a class="el" href="classtranswarp_1_1task__impl.html" title="A task representing a piece of work given by functor and parent tasks. By connecting tasks a directed...">task_impl</a></code> and <code><a class="el" href="classtranswarp_1_1value__task.html" title="A value task that stores a single value and doesn&#39;t require scheduling. Value tasks should be created...">value_task</a></code> </p>
</div><hr/>The documentation for this class was generated from the following file:<ul>
<li>include/<a class="el" href="transwarp_8h_source.html">transwarp.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.17
</small></address>
</body>
</html>
